﻿using System;
using System.Collections.Generic;
using System.Data;
using Fcdbas.Core;

namespace Fcdbas.Platform
{
    public interface IFunctionClassBase
    {
        global::Fcdbas.Core.SalBoolean DbMySQLBlock(IEntity Entity,global::Fcdbas.Core.SalString sSql);
        global::Fcdbas.Core.SalBoolean DbMySQLTransaction(IEntity Entity,global::Fcdbas.Core.SalString sSql);
        global::Fcdbas.Core.SalBoolean DbTransactionBegin(IEntity Entity);
        global::Fcdbas.Core.SalBoolean DbTransactionClear(IEntity Entity);
        global::Fcdbas.Core.SalBoolean DbTransactionEnd(IEntity Entity);
        SalNumber DbMySQLBlock(IEntity Entity,SalString sSql, Dictionary<SalString, object> parms, CommandType type = CommandType.StoredProcedure);
        SalBoolean DbMySQLTransaction(IEntity Entity,SalString sSql, Dictionary<SalString, object> parms, CommandType type = CommandType.StoredProcedure);
        //int PrepareSQLBlock(IEntity Entity, string sSql, bool IsStandard = true, bool IsFirst = false, Dictionary<string,string> association = null, CommandType type = CommandType.StoredProcedure, int KeyRef=0);
        //int PrepareSQLBlock(string sSql, Dictionary<string, object> parms, CommandType type = CommandType.StoredProcedure);
        //ExecuteResult BatchExecute();
    }
}
